package com.wangjiang.mario.admin.quartz;

import java.util.HashMap;
import java.util.Map;

public class ScheduleConstants {
    public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";

    /** 执行目标key */
    public static final String TASK_PROPERTIES = "TASK_PROPERTIES";

    /** 默认 */
    public static final String MISFIRE_DEFAULT = "0";

    /** 立即触发执行 */
    public static final String MISFIRE_IGNORE_MISFIRES = "1";

    /** 触发一次执行 */
    public static final String MISFIRE_FIRE_AND_PROCEED = "2";

    /** 不触发立即执行 */
    public static final String MISFIRE_DO_NOTHING = "3";

    public enum Status
    {
        /**
         * 正常
         */
        NORMAL("0"),
        /**
         * 暂停
         */
        PAUSE("1");

        private String value;

        private Status(String value)
        {
            this.value = value;
        }

        public String getValue()
        {
            return value;
        }
    }

    public enum Misfire
    {
        /**
         * 默认
         */
        MISFIRE_DEFAULT("0"),
        /**
         * 立即触发执行
         */
        MISFIRE_IGNORE_MISFIRES("1"),
        /**
         * 触发一次执行
         */
        MISFIRE_FIRE_AND_PROCEED("2"),
        /**
         * 不触发立即执行
         */
        MISFIRE_DO_NOTHING("3");


        private String value;

        private Misfire(String value)
        {
            this.value = value;
        }

        public String getValue()
        {
            return value;
        }
    }

    /**
     * 策略变量
     */
    public static final Map<String, String> MISFIRE = new HashMap<String, String>(){
        {
            put("0", "默认");
            put("1", "立即触发执行");
            put("2", "触发一次执行");
            put("3", "不触发立即执行");
        }
    };
    public static final Map<String, String> JOB_STATUS = new HashMap<String, String>(){
        {
            put("0", "正常");
            put("1", "暂停");
        }
    };

}
